package com.slz3.business.frame.api.wx;

import java.util.HashMap;
import java.util.Map;

import com.slz3.business.frame.api.tool.AppEnv;
import com.slz3.business.frame.api.alipay.AlipayApi;

/**
 * 即时到账收款<br>
 * 收款账户需要签约即时到账服务
 *
 */
public class DirectPayApi {
	/**
	 * 服务接口
	 */
	private String service = "create_direct_pay_by_user";
	/**
	 * 商家邮箱
	 */
	private String seller_email = AppEnv.getInstance().getStringProp("alipay.seller_email", "2900983616@qq.com");
	/**
	 * 支付宝页面上显示的付款标题信息
	 */
	private String subject = "兜哒玩具会员卡购买支付";
	/**
	 * 支付宝页面上显示的付款内容信息
	 */
	private String body;
	/**
	 * 外部交易号（订单号），最好具有唯一性，在获取支付宝发来的付款信息时使用
	 */
	private String out_trade_no;
	/**
	 * 支付类型 <br>
	 * 商品购买：1<br>
	 */
	private String payment_type = "1";
	/**
	 * 
	 */
	private String paymethod = "directPay";
	/**
	 * 交易额度
	 */
	private String total_fee = "0.01";
	/**
	 * 订单商品数量<br>
	 * 一般都是写1，它是按照整个订单包来计算 
	 */
	private String quantity = "1";
	/**
	 * 客户付款后，支付宝调用的页面
	 */
	private String notify_url;
	/**
	 * 客户付款成功后，显示给客户的页面
	 */
	private String return_url;
	/**
	 * 回传参数
	 */
	private String extra_common_param;
	
	public String getService() {
		return service;
	}
	public void setService(String service) {
		this.service = service;
	}
	public String getSeller_email() {
		return seller_email;
	}
	public void setSeller_email(String seller_email) {
		this.seller_email = seller_email;
	}
	public String getSubject() {
		return subject;
	}
	public void setSubject(String subject) {
		this.subject = subject;
	}
	public String getBody() {
		return body;
	}
	public void setBody(String body) {
		this.body = body;
	}
	public String getOut_trade_no() {
		return out_trade_no;
	}
	public void setOut_trade_no(String out_trade_no) {
		this.out_trade_no = out_trade_no;
	}
	public String getPayment_type() {
		return payment_type;
	}
	public void setPayment_type(String payment_type) {
		this.payment_type = payment_type;
	}
	public String getPaymethod() {
		return paymethod;
	}
	public void setPaymethod(String paymethod) {
		this.paymethod = paymethod;
	}
	public String getTotal_fee() {
		return total_fee;
	}
	public void setTotal_fee(String total_fee) {
		this.total_fee = total_fee;
	}
	public String getQuantity() {
		return quantity;
	}
	public void setQuantity(String quantity) {
		this.quantity = quantity;
	}
	public String getNotify_url() {
		return notify_url;
	}
	public void setNotify_url(String notify_url) {
		this.notify_url = notify_url;
	}
	public String getReturn_url() {
		return return_url;
	}
	public void setReturn_url(String return_url) {
		this.return_url = return_url;
	}
	public String getExtra_common_param() {
		return extra_common_param;
	}
	public void setExtra_common_param(String extra_common_param) {
		this.extra_common_param = extra_common_param;
	}
	public DirectPayApi() {}
	public Map<String, String> getSignMap(){
		Map<String, String> params = new HashMap<String, String>();
		params.put("_input_charset", AlipayApi._input_charset);
		params.put("partner", AlipayApi.partner);
		
		if(null!=service)params.put("service", service);
		if(null!=seller_email)params.put("seller_email", seller_email);
		if(null!=subject)params.put("subject", subject);
		if(null!=body)params.put("body", body);
		if(null!=out_trade_no)params.put("out_trade_no", out_trade_no);
		if(null!=payment_type)params.put("payment_type", payment_type);
		if(null!=paymethod)params.put("paymethod", paymethod);
		if(null!=total_fee)params.put("total_fee", total_fee);
		if(null!=notify_url)params.put("notify_url", notify_url);
		if(null!=return_url)params.put("return_url", return_url);
		
		return params;
	}

}
